/**
 *
 * <h1>双指针思想</h1>
 * <p>双指针，指的是在遍历对象的过程中，不是普通的使用单个指针进行访问，而是使用两个相同方向（快慢指针）或者相反方向（对撞指针）的指针进行扫描，从而达到相应的目的</p>
 *
 * <p>
 *     <h2>
 *         对撞指针
 *     </h2>
 *     <p>
 *         指在数组中，将指向最左侧的索引定义为左指针(left)，最右侧的定义为右指针(right)，然后从两头向中间进行数组遍历
 *     </p>
 *     <h2>
 *         快慢指针
 *     </h2>
 *     <p>
 *         快慢指针也是双指针，但是两个指针从同一侧开始遍历数组，将这两个指针分别定义为快指针（fast）和慢指针（slow），两个指针以不同的策略移动，直到两个指针的值相等（或其他特殊条件）为止，如fast每次增长两个，slow每次增长一个
 *     </p>
 * </p>
 */
package com.liuzhilong.infrastructure.framework.algorithms.algorithms.doublepointer;